package com.zp.demo.repush.service;

import com.zp.demo.repush.service.func.IsSucessFunc;
import com.zp.demo.repush.vo.BaseRePushVo;
import com.zp.demo.repush.vo.RePushStrategyEntity;

public interface DoRePushExcuteService {
    /**
     * 重推方法实现
     * @param methodId
     * @param args
     * @param isSucessFunc
     * @param baseRePushVo
     * @return
     */
     boolean excute(String methodId, Object[] args, IsSucessFunc isSucessFunc, BaseRePushVo baseRePushVo);

     Object excuteGetResult(String methodId, Object[] args,BaseRePushVo baseRePushVo);

    /**
     * 获取配置的策略
     * @param exceptionKey
     * @return
     */
     RePushStrategyEntity getStrategyProperties(String exceptionKey);
}
